home *** CD-ROM | disk | FTP | other *** search
/ Mac Magazin/MacEasy 44 / Mac Magazin and MacEasy Magazine CD - Issue 44.iso / Magazin / Netzwerkspiele / Software / Demos & Shareware / WarBirds / WBv2.0r1PPC604.sea / WBv2.0r1PPC604 / For System Folder / InputSprocket Release Notes < prev    next >
Text File  |  1997-04-17  |  15KB  |  334 lines

  1. InputSprocket 1.2
  2. Release Notes
  3. -----------------
  4.  
  5. General Release Notes:
  6.  
  7. This release involves many minor improvements to the InputSprocket drivers, 
  8. including an improved user interface (UI) for axis. Some new drivers have 
  9. also been added. Several problems and bugs have been addressed.
  10.  
  11. A new resource has been defined (kISpApplicationResourceType = 'isap') which all
  12. applications which use InputSprocket should put (ID 0) in their resource fork.
  13. They should always set bit 0 (kISpAppResFlag_UsesInputSprocket) and set bit 1
  14. (kISpAppResFlag_UsesISpInit) if they use the high level API (ie they call
  15. ISpInit, ISpConfig, etc... in other words they have a needs list). The rest of
  16. the bits and reserved fields should be set to 0.
  17.  
  18. A new ISpElementKind has been added: kISpElementKind_Delta which specifies
  19. a Fixed point number of inches moved. InputSprocket Mouse and 
  20. InputSprocket Kensington now register elements of this kind in the low level. 
  21. The high level (through ISpConfigure) supports axis as well as delta kinds.
  22. This kind is very useful if you want to control a cursor.
  23.  
  24. A new definition of ISpNeed can be used by defining USE_OLD_ISPNEED_STRUCT to 0.
  25. The first reserved field (a short) was changed to two UInt8s: playerNum and
  26. group. Use playerNum to tell the driver some needs are related to a particular
  27. player (on the same machine). The SprocketInvaders source code will be reved to
  28. use this field. Group is used to group items together, such as a look up, look
  29. down need (assuming you can't use an axis). You should also group items together
  30. that have the same effect, but are 'tuned' button, axis, and delta versions. The
  31. current ISp drivers do not use this hinting, yet. Some new definitions for the 
  32. ISpNeedFlagBits have been added. If you use the new definition, make sure you 
  33. check your code for cases where you were initializing the struct. You now may 
  34. be misaligned, and many compilers will NOT generate a warning.
  35.  
  36. High Level Release Notes:
  37.  
  38. InputSprocket needs a 640x480 display (or larger) in order for its dialog to work.  
  39. If you are asking DrawSprocket for a smaller display size than that you should 
  40. switch out before calling InputSprocket.
  41.  
  42. Information about how to get saved sets ('setl' Resources) to work is below
  43. under the InputSprocket 1.0 Release Notes
  44.  
  45. AbsoluteTime and UnsignedWide are in the latest types.h (ETO #20 or later).
  46. /*typedef UnsignedWide AbsoluteTime; struct UnsignedWide {UInt32 hi;UInt32
  47. lo;};*/
  48.  
  49. InputSprocket Mouse supplies pseudo-buttons in the high level for modifier
  50. keys in combination with mouse clicks. You will have at least four buttons
  51. (where some may actually be command/shift/control/option-click on 
  52. one-button mice) for any mouse device. This should make it straightforward
  53. to port games which expect a two button mouse: use ISp with delta and
  54. button needs -- and dont worry about what type of device the user has.
  55.  
  56. Changes from 1.1
  57. -----------------
  58. - InputSprocket Speech added back to distribution (crashing bug fixed)
  59. - InputSprocket Gravis supports Blackhawk and uses new UI (new save set format)
  60. - InputSprocket Thrustmaster uses new UI (new save set format)
  61. - InputSprocket Joy completely revised, renamed InputSprocket CH, now supports
  62. multiple devices seperately and supports up to 8 buttons and 4 hats per device
  63. (new save set format)
  64. - InputSprocket Kensington added, supports kensington devices regardless
  65. of their software
  66. - InputSprocket Sidewinder 3D Pro added, supports Microsoft Sidewinder joystick 
  67. - InputSprocket AppleJack added, supports Pippin/AppleJack controller
  68. - InputSprocket Keyboard supports modifier keys in conjunction with a normal key
  69. (now either Escape or Cmd-Q are valid for kISpElementLabel_Btn_PauseResume)
  70. - Device and element strings have been reviewed, and some have been changed
  71. - ISpConfigure saves and restores the port.
  72. - A new function: ISpTimeToMicroseconds has been added.
  73. - There are some new bits defined for ISpNeedFlagBits. 
  74. - Some new element labels have been added.
  75. - Old saved sets for devices other than mouse and keyboard do not work
  76.  
  77. Incomplete list of devices input sprocket supports
  78. --------------------------------------------------
  79. - Thrustmaster FCS, Thrustmaster WCS, Thrustmaster RCS
  80. - Gravis Gamepad, Gravis Firebird, Gravis Mousestick II, Gravis Blackhawk
  81. - CH Jetstick, CH Flightstick Pro, CH Pro Pedals, CH Pedals, CH F16
  82.   Fighterstick, CH Gamepad, CH Pro Throttle
  83. - Kensington TurboMouse 4.0, TurboMouse 5.0, Thinking Mouse, 
  84.   Kensington Mouse, CoStar Stringray trackball
  85. - Microsoft SideWinder 3D Pro
  86. - AppleJack/ Pippin Controller
  87. - Speech Recognition
  88. - Keyboard
  89. - traditional Apple 'id handler 1' mouse and 100% compatable mice
  90. - modern 'id handler 4' mice including Logitech Trackman Marble (see the
  91. technote "Space Aliens Ate My Mouse")
  92.  
  93. Known Problems in 1.2
  94. ---------------------
  95. - Kensington Mouse-in-a-box reports two buttons (only the first one works)
  96. - ALPS GlidePoint does not appear if ALPS software is installed (appears w/o
  97.   ALPS software)
  98. - Mouse Systems Mouse does not appear if Mouse Systems software ('3-Button
  99.   Power') is installed (appears as 1 button mouse w/o Mouse Systems software)
  100. - CH Trackball PRO does not appear
  101. - Thrustmaster software generates keyDowns if so configured with ThrustWare (fix
  102.   is to configure all buttons to do nothing in ThrustWare)
  103. - Machines based on the Tanzania motherboard (Motorola StarMax, APS MPower,
  104.   Apple PowerMacintosh 4400) will always show an extra Mouse device for the
  105.   PS/2 mouse regardless whether one is plugged in (even though the 4400 has
  106.   no PS/2 ports, the phantom ADB devices for them are still created). The
  107.   PS/2 mouse only reports one button.
  108. - When a Sidewinder 3D Pro stick is connected, an extra mouse device is shown
  109.   which is active when the 'mouse/joystick' switch is switched to 'mouse'.
  110. - It is unstable to have multiple applications use InputSprocket 
  111.   simultaneously. If your application can be suspended and uses InputSprocket 
  112.   you should use ISpShutdown and ISpStartup so that InputSprocket is off while
  113.   you are in the background.  This is a bug (since 1.0) and will be fixed
  114.   in the next version.  If you are a user you can work around this problem
  115.   by not running more than one InputSprocket application at the same time.
  116. - When debugging, you may need to deactivate the Mouse and Keyboard drivers in
  117.   order to be able to interact with your debugger.
  118.  
  119. InputSprocket 1.1
  120. Release Notes
  121. -----------------
  122.  
  123. General Release Notes:
  124. We recommend that if you are using input sprocket version greater than 1.02 that
  125. you no longer support any third party joystick APIs.
  126. You must not support those APIs at the same time as you have InputSprocket
  127. devices enabled.
  128.  
  129. High Level Release Notes:
  130. If you are using InputSprocket via the high level (ISpConfigure and ISpInit and
  131. so on).  We recommend that you only use the axis and button data types and build
  132. the controls that you need out of those types.  This will get you the best
  133. support.  Many of the drivers are going to only primarily emulate those
  134. datatypes.
  135.  
  136.  
  137. Known Problems in 1.1
  138. ---------------------
  139. - Kensington Trackball does not appear if Kensington software is installed
  140. (appears w/o Kensington software)
  141. - ALPS GlidePoint does not appear if ALPS software is installed (appears w/o
  142. ALPS software)
  143. - Mouse Systems Mouse does not appear if Mouse Systems software ('3-Button
  144. Power') is installed (appears as 1 button mouse w/o Mouse Systems software)
  145. - CoStar Stingray Trackball does not appear if CoStar software ('Stingray') is
  146. installed (appears w/o CoStar software)
  147. - CH Trackball PRO does not appear
  148. - Thrustmaster software generates keyDowns if so configured with ThrustWare (fix
  149. is to configure all buttons to do nothing in ThrustWare)
  150.  
  151. Changes from 1.02
  152. -----------------
  153. - new APIs (ISpStartup, ISpShutdown, ISpTickle, ISpDevices_ActivateClass,
  154. ISpDevices_DeactivateClass)
  155. - some general ui improvements in both appearance and performance have been made
  156. - new driver InputSprocket Joy (supports some features of JoyManager devices --
  157. ie mainly CH products)
  158. - new driver InputSprocket Thrustmaster (supports FCS, WCS, RCS)
  159. - new driver InputSprocket Gravis (supports MouseStick, Firebird, GamePad)
  160. - new driver InputSprocket Speech (you must activate explicitly and requires
  161. ISpTickle be called)
  162. - InputSprocket Mouse changed to have new UI and is implemented via ADBMgr
  163. directly instead of a CursorDeviceMgr Patch
  164. - InputSprocket Keyboard has been slightly changed if there is only one page
  165. - driver function to plot icons has been changed (faster)
  166. - bug when you select a 0 length name to save a set has been fixed
  167. - bug involving choosing monitor has been fixed (might chose something other
  168. than the main monitor randomly)
  169. - CH Flightstick, CH Gamepad, CH Jetstick and MacEnjoy no longer generate a
  170. mouse device
  171. - a crashing bug involving multiple applications using input sprocket
  172. simultaniously has been fixed
  173. - a very small memory leak involving ISpConfigure has been fixed
  174. - DONT_USE_OLD_INPUT_SPROCKET_LABELS changed to USE_OLD_INPUT_SPROCKET_LABELS in
  175. InputSprocket.h
  176. - a bug where InputSprocket Keyboard and InputSprocket Mouse called InitGraf has
  177. been fixed
  178.  
  179. InputSprocket Speech Notes
  180. --------------------------
  181. - you must call ISpTickle in order for InputSprocket Speech to work
  182. - you must call ISpDevices_ActivateClass(kISpDeviceClass_SpeechRecognition) to
  183. turn InputSprocket Speech on
  184. - requires SpeechRecognition extension 1.5.1 (PlainTalk 1.5)
  185.  
  186. InputSprocket Joy Notes
  187. -----------------------
  188. - supports all JoyManager devices as a single input sprocket device.
  189. - UI may show popups for controls the device does not have
  190. - JoySimpleData based
  191. - only supports the trigger and three additional buttons
  192. - digital pointing devices (ex. CH Gamepad's pad) are treated as a pair of axis
  193. not a POV Hat
  194.  
  195. InputSprocket 1.02
  196. Release Notes
  197. -----------------
  198.  
  199. There is a new InputSprocket.h that has new versions of the names for the labels
  200. as well as additional labels.
  201.  
  202. The following bugs were fixed in the 1.01 or the 1.02 releases.
  203. - keyboard ui now generates better names than Min/Max for axis if ElementLabel
  204. is useful
  205. - various problems with alignment and growing of dialog were fixed
  206. - flickering with icons in thrustmaster and mouse fixed
  207. - stub library included in this release with file type 'stub'
  208. - axis flipping check box now works again for the mouse driver
  209. - ISpDevices_Extract functions no work when an exact count is passed to them
  210. - Icon plotting is more robust.
  211. - The OK button is no longer hilited when the keyboard is active.
  212. - InputSprocket will now unload the drivers when the last fragment is unloaded
  213. - InputSprocket no longer leaks memory when you quit in the suspended state
  214. - when there are no devices to configure and ISpConfigure is called it will
  215. display a warning instead of doing nothing
  216. - ISpSuspend no longer leaks 10,000 bytes every call
  217.  
  218. The following bugs are known:
  219. -There is an incompatability with the mouse driver and the Kensignton trackball
  220. software that causes no mice devices to appear.
  221. -There is a incompatability with the Kensington trackball that causes an extra
  222. mouse device to appear when the hardware is installed and the software is not
  223. installed.
  224.  
  225. InputSprocket 1.0
  226. Release Notes
  227. -----------------
  228.  
  229. Please report all bugs to sprockets@adr.apple.com!
  230.  
  231. Release Components
  232. ------------------
  233.  
  234. InputSprocket Release Notes                - this file
  235. InputSprocket.h                            - the header file to compile with
  236. InputSprocketLib                        - release version of the library
  237. InputSprocketDebugLib                    - debugging version of the library
  238. InputSprocketStubLib                    - version of the library to link to
  239. InputSprocket Keyboard                    - keyboard plug-in
  240. InputSprocket Mouse                        - mouse plug-in
  241. InputSprocketTest                        - test program
  242. InputSprocketTest.µ                        - Metrowerks 8 project to build test
  243. InputSprocketTest Sources                - sources for test program
  244.  
  245. Place InputSprocket Keyboard, InputSprocket Mouse and InputSprocketLib or
  246. InputSprocketDebugLib in the Extensions folder.  Place InputSprocket.h in
  247. your development environment's C Headers folder.  Place InputSprocketStubLib
  248. in your development environment's Libraries folder.
  249.  
  250. WARNING: don't place both the debugging and non-debugging versions of the
  251. library in the search path or you will not be sure which version you will be
  252. using.
  253.  
  254. Dependencies
  255. ------------
  256.  
  257. InputSprocket requires the latest Universal Headers -- version 2.1.2 or later.
  258. You can find them on E.T.O. #20, the MacOS SDK CD-ROMs, Apple's web-site, or
  259. a number of other locations.  If you have a problem with the "AbsoluteTime"
  260. type usage, then you aren't using the latest Types.h file.
  261.  
  262. Compatability with Prereleases
  263. ------------------------------
  264.  
  265. InputSprocket 1.0 is not compatible with any of the pre-release versions of
  266. InputSprocket.  You should throw out all DR versions.
  267.  
  268. Changes to 'setl' Resource
  269. --------------------------
  270.  
  271. The format for the set list resource ('setl') was changed at the last minute.
  272. A resedit TMPL resource is automatically installed in the preference file and
  273. the format is as follows:
  274.  
  275. -- header --
  276. Version                (4 bytes)        The current version is now 2.
  277. Count                (4 bytes)
  278.  
  279. -- each entry --
  280. name                (64 bytes)        A pascal string
  281. set length            (4 bytes)        The length of the set
  282. device class        (4 bytes)        The device class of the device
  283. device identifier    (4 bytes)        The device identifier of the device
  284. flags                (4 bytes)        Same flags as in the header
  285. reserved1            (4 bytes)        Reserved by apple set to zero.
  286. reserved2            (4 bytes)        Reserved by apple set to zero.
  287. reserved3            (4 bytes)        Reserved by apple set to zero.
  288. set resource id        (2 bytes)        The resource id of the set.
  289. reserved4            (2 bytes)        Reserved by apple set to zero.
  290.  
  291. Special Considerations
  292. ----------------------
  293.     
  294.     -    Your game should use the Escape key to pause and resume play.  The
  295.         element that corresponds to the Escape key is labelled
  296.         ISpElementLabel_Start.  If your game uses virtual elements then the
  297.         first button need that is labelled ISpElementLabel_Start is auto-
  298.         configured to the Escape key, and the user can't change this in
  299.         the ISpConfigure dialog.
  300.     
  301.     -    Your game may provide default and optional configurations for the
  302.         keyboard, the mouse and any other devices.  This is done by including
  303.         'setl' and 'tset' resources a resource file, such as the application's,
  304.         that is open when ISpInit and ISpConfigure are called.  Since the
  305.         format of the 'tset' resource is determined by the device, it is
  306.         easiest to use the configuration dialog to establish the desired
  307.         configurations then copy them from the Preferences file into your
  308.         resource file.
  309.         
  310.             1.    Remove the InputSprocket Preferences file from the Preferences
  311.                 folder.
  312.             
  313.             2.    Run your game, and invoke the ISpConfigure dialog.
  314.             
  315.             3.    Configure and save as many sets as you like for any and all
  316.                 devices.
  317.             
  318.             4.    Quit.
  319.             
  320.             5.    Use ResEdit to move the 'setl' and 'tset' resources to your
  321.                 resource file.
  322.             
  323.             6.    Edit the 'setl' resource using the 'TMPL' supplied in
  324.                 InputSprocketSimpleTest.rsrc.
  325.             
  326.             7.    Change the flags field to $00000002 for the default entry for
  327.                 a given device or $00000004 for any other entry for that
  328.                 device.
  329.             
  330.             8.    Again remove the InputSprocket Preferences file from the
  331.                 Preferences folder so you can test with a clean slate.
  332.             
  333.             9.    Rebuild your game and try out your new configurations.
  334.